#include"process.h"
#include<string.h>
#include<unistd.h>



#define SIZE 101
#define STYLE '='

//v2:根据进度，动态刷新一次进度条
void FlushProcess(const char *tips,double total,double current)
{
	const char* label="|/-\\";
	int len=strlen(label);
	static int index = 0;
	char buffer[SIZE];
	memset(buffer,0,sizeof(buffer));

	double rate=current*100.0/total;
	int num=(int)rate;

	int i=0;
	for(;i<num;i++)
		buffer[i]=STYLE;

	printf("%s...[%-100s][%.1lf%%][%c]\r",tips,buffer,rate,label[index++]);
	fflush(stdout);
	index %=len;

	if(num >= 100) printf("\n");
}




//v1:展示进度条
void process()
{
	int rate=0;
	char buffer[SIZE];
	memset(buffer,0,sizeof(buffer));
	const char* lable="|/-\\";
	int len=strlen(lable);

	while(rate <= 100)
	{
		printf("[%-100s][%d%%][%c]\r",buffer,rate,lable[rate%len]);
		fflush(stdout);
		buffer[rate]=STYLE;
		rate++;
		usleep(5000);//1秒=1000毫秒
	}

	printf("\n");
}
